import time
from flask import Flask

app = Flask(__name__)

# 全局计数器变量
request_count = 0

# 记录 API 在过去 5 分钟内被请求的次数
@app.before_request
def record_request():
    global request_count
    request_count += 1

    # 获取当前时间戳
    current_time = time.time()

    # 清除过期的请求计数
    if current_time - 300 > app.config.get('last_update_time', 0):
        app.config['request_count_5mins'] = 1
        app.config['last_update_time'] = current_time
    else:
        app.config['request_count_5mins'] += 1

# 获取 API 在过去 5 分钟内被请求的次数
@app.route('/api/request_count', methods=['GET'])
def get_request_count():
    # 获取请求计数
    request_count_5mins = app.config.get('request_count_5mins', 0)

    # 返回请求计数结果
    return f'API 在过去 5 分钟内被请求了 {request_count_5mins} 次'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)

